home *** CD-ROM | disk | FTP | other *** search
/ START Magazine / START VOL 4 NO 1.st / POGOSRC.ARC / STATE.C < prev    next >
Encoding:
C/C++ Source or Header  |  1985-11-20  |  1005 b   |  62 lines

  1.  
  2. #define BREAKKEY 11779
  3. #define DUMPKEY 8196
  4.  
  5. #include <stdio.h>
  6. #include "pogo.h"
  7. #include "dlist.h"
  8.  
  9. extern union pt_int *cr_data[];
  10. extern int active_frame;
  11. extern int debug_statements;
  12. extern struct func_frame *strace[RMAX];
  13. extern int in_graphics;
  14.  
  15. dump_state(code, stack, lvars)
  16. struct pogo_op *code;
  17. union pt_int *stack;
  18. union pt_int *lvars;
  19. {
  20. union pt_int *data;
  21. int i;
  22. int c;
  23. int oig;
  24.  
  25. oig = in_graphics;
  26. to_text();
  27. printf("Dumped ... cur_pid = %d\n", cur_pid);
  28. if (cur_pid != 0)
  29.     {
  30.     data = cr_data[cur_pid];
  31.     printf("creature type %s\n", data[CNAME].p);
  32.     }
  33. puts("");
  34. for (i=0; i<active_frame; i++)
  35.     {
  36.     puts(strace[i]->name);
  37.     }
  38. if (debug_statements)
  39.     {
  40.     puts("Current statement:");
  41.     print_last_statement(code);
  42.     }
  43. puts("<cont>C to exit, any other key to continue");
  44. for (;;)
  45.     {
  46.     c = console();
  47.     switch (c)
  48.         {
  49.         case 0:
  50.             break;
  51.         case BREAKKEY:
  52.             quit();
  53.             break;
  54.         default:
  55.             if (oig)
  56.                 to_graphics();
  57.             return(0);
  58.         }
  59.     }
  60. }
  61.  
  62.